package com.lightsaber.trade.cloth.service.planning;

import org.springside.modules.orm.Page;

import com.lightsaber.trade.core.service.HppBaseSerivce;
import com.lightsaber.trade.cloth.entity.planning.Level2Planning;

public interface Level2PlanningService extends HppBaseSerivce<Level2Planning, String> {

    @Override
    public void save(final Level2Planning level2Planning);

    // public Map<Integer, String> getAllPlanningExercise();

    public void findPage(Level2Planning level2Planning, Page<Level2Planning> page);

    public Level2Planning findById(final String id);

    public String loadLevel2TreeByLevel1Status(String level2PlanningId, String programmeCode);

    public String getViewDetail(String disciplineType, String level2PlanningId,
            String categoryNodeId, String searchByInService, final boolean isForEndorsement);

    public void saveViewDetail(String viewDetailData) throws Exception;

    public Level2Planning findByPlanningId(String planningId);

    public void endorseLevel2(final String level2PlanningId) throws Exception;

    public void confirmDetail(final String level2PlanningId, final String categoryNodeId)
            throws Exception;

    public void generalDefaultValue(final Level2Planning level2Planning) throws Exception;
}
